; Registerdefinitionen fuer AT89C52 (also auch 80C51 und verwandte)

P0      .equ    080H    ; Port 0
P1      .equ    090H    ; Port 1
P2      .equ    0A0H    ; Port 2
P3      .equ    0B0H    ; Port 3
P4      .equ    0C0H    ; Port 4
P5      .equ    0C4H    ; Port 5

PSW     .equ    0D0H    ; Programmstatuswort
ACC     .equ    0E0H    ; Accumulator
B       .equ    0F0H    ; Secondary Accumulator
SP	.equ	081H	; Stack Pointer
DPL     .equ    082H    ; Daten Pointer Low
DPH     .equ    083H    ; Daten Pointer High
IE	.equ    0A8H    ; Interrupt Enable Register
IP	.equ    0B8H    ; Interrupt Priority Register
PCON    .equ    087H    ; Power Kontrolle
TCON    .equ    088H    ; Timer 0/1 Kontrolle
TMOD    .equ    089H    ; Timer 0/1 Modus
TL0     .equ    08AH    ; Timer 0 Counting Registers
TH0     .equ    08CH
TL1     .equ    08BH    ; Timer 1 Counting Registers
TH1     .equ    08DH
T2CON	.equ	0C8H	; Timer 2 Control
RCAP2L	.equ	0CAH	; Timer 2 Capture Registers
RCAP2H	.equ	0CBH	;
TL2	.equ	0CCH	; Timer 2 Counting Registers
TH2	.equ	0CDH	;
SCON	.equ	098H	; Serial Data Control
SBUF	.equ	099H	; Serial Data Buffer

;  einige Bit-Adressen

;  PSW
C	.equ	0D7H	; Carry Flag
AC   	.equ 	0D6H	;
F0    	.equ 	0D5H	;
RS1   	.equ 	0D4H	;
RS0  	.equ 	0D3H	;
OV    	.equ 	0D2H	;
P     	.equ 	0D0H	;

;  IE
EA    	.equ 	0AFH	; enables/disables all interrupts
ET2   	.equ 	0ADH	;
ES   	.equ 	0ACH	;
ET1   	.equ 	0ABH	;
EX1   	.equ 	0AAH	;
ET0   	.equ 	0A9H	;
EX0   	.equ 	0A8H	;

;  IP
PT2	.equ 	0BDH	; timer 2 interrupt priority
PS	.equ 	0BCH	; serial port interrupt priority
PT1	.equ 	0BBH	; timer 1 interrupt priority
PX1	.equ 	0BAH	; external interrupt 1 priority
PT0	.equ 	0B9H	; timer 0 interrupt priority
PX0	.equ 	0B8H	; external interrupt 1 priority

;  TCON
TF1   	.equ 	08FH	;
TR1   	.equ 	08EH	;
TF0   	.equ 	08DH	;
TR0   	.equ 	08CH	;
IE1   	.equ 	08BH	;
IT1   	.equ 	08AH	;
IE0   	.equ 	089H	;
IT0   	.equ 	088H	;

;  T2CON
TF2	.equ	0CFH
EXF2	.equ	0CEH
RCLK	.equ	0CDH
TCLK	.equ	0CCH
EXEN2	.equ	0CBH
TR2	.equ	0CAH
CT2	.equ	0C9H
CPRL2	.equ	0C8H

;  SCON
SM0	.equ 	09FH	;
SM1	.equ 	09EH	;
SM2	.equ 	09DH	;
REN	.equ 	09CH	;
TB8	.equ 	09BH	;
RB8	.equ 	09AH	;
TI	.equ 	099H	;
RI	.equ 	098H	;

P0.0    .equ    080H	; Port 0 Bit 0
P0.1    .equ    081H
P0.2    .equ    082H
P0.3    .equ    083H
P0.4    .equ    084H
P0.5    .equ    085H
P0.6    .equ    086H
P0.7    .equ    087H

P1.0    .equ    090H
P1.1    .equ    091H
P1.2    .equ    092H
P1.3    .equ    093H
P1.4    .equ    094H
P1.5    .equ    095H
P1.6    .equ    096H
P1.7    .equ    097H

P2.0    .equ    0A0H
P2.1    .equ    0A1H
P2.2    .equ    0A2H
P2.3    .equ    0A3H
P2.4    .equ    0A4H
P2.5    .equ    0A5H
P2.6    .equ    0A6H
P2.7    .equ    0A7H

P3.0    .equ    0B0H	; Port 3 bit 0
P3.1    .equ    0B1H
P3.2    .equ    0B2H
P3.3    .equ    0B3H
P3.4    .equ    0B4H
P3.5    .equ    0B5H
P3.6    .equ    0B6H
P3.7    .equ    0B7H

;  P3
RD    	.equ 	0B7H	;
WR    	.equ 	0B6H	;
T1    	.equ 	0B5H	;
T0    	.equ 	0B4H	;
INT1  	.equ 	0B3H	;
INT0  	.equ 	0B2H	;
TXD   	.equ 	0B1H	;
RXD   	.equ 	0B0H	;

ACC.0   .equ    0E0H    ; A bit 0
ACC.1   .equ    0E1H    ;
ACC.2   .equ    0E2H    ;
ACC.3   .equ    0E3H    ;
ACC.4   .equ    0E4H    ;
ACC.5   .equ    0E5H    ;
ACC.6   .equ    0E6H    ;
ACC.7   .equ    0E7H    ;

B.0     .equ    0F0H    ;
B.1     .equ    0F1H    ;
B.2     .equ    0F2H    ;
B.3     .equ    0F3H    ;
B.4     .equ    0F4H    ;
B.5     .equ    0F5H    ;
B.6     .equ    0F6H    ;
B.7     .equ    0F7H    ;

; Interrupt-Adressen

RESET	.equ    0000H   ; reset
EXINT0	.equ    0003H   ; external tnterrupt 0
TIMER0	.equ    000BH   ; timer 0
EXINT1	.equ    0013H   ; external interrupt 1
TIMER1 	.equ    001BH   ; timer 1
SERINT	.equ    0023H   ; serial port
TIMER2	.equ	002BH	; Timer 2
